#ifndef INFORMACIONPIEZA_H_
#define INFORMACIONPIEZA_H_

#include <iostream>
#include <string>
#include <list>
#include "Mutex.h"


using namespace std;

class InformacionPieza {
private:
	unsigned long int nroPieza;

	list<string> candidatos;
	Mutex mutexCandidatos;

	bool bajando;
	Mutex mutexBajando;

public:

	InformacionPieza(unsigned long int nroPieza);
	virtual ~InformacionPieza();

	list<string> getCandidatos();
	void agregarCandidato(const string &candidatoId);
	void quitarCantidado(const string &candidatoId);
	bool seEncuentraElCandidato(const string &candidatoId);
	unsigned int getCantidadCandidatos();

	bool getBajando();
	void setBajando(bool bajando);

	unsigned long int getNroPieza() const;
};

#endif /* INFORMACIONPIEZA_H_ */
